======================================================================
----------------------------------------------------------------------
                      JAGGED ALLIANCE I:
                           DOS Version 1.15
                            (Unofficial Patch)

                               Readme File
                          20 February 2020
----------------------------------------------------------------------
======================================================================

              THIS PATCH HAS BEEN BUILT ON THE 1.13b PATCH.
            IT IS NOT SUPPORTED BY A COMPANY OR ANYONE AT ALL.

                         USE AT YOUR OWN RISK.
                         ---------------------


################################################################################
How to Update to Version 1.15
################################################################################

1.  This patch updates Jagged Alliance I to (unofficial) version 1.15.
    You need to have version 1.13 or above installed on your computer.
    To check your current game version press "v" while in-game.

    NOTE: Some online distributors sell the "Jagged Alliance Gold"
    version. Sadly the version of JA1 (1.13) included in that package
    is NOT the latest official version 1.13b. This package includes the
    official 1.13b version and we strongly recommend to update to it, 
    even if you don't plan to update to 1.15; otherwise some game 
    functionality will be missing or not working properly.

2.  Extract all files from 'JA115.zip' which contains:
    JA113B.ZIP        - official patch to version 1.13b
    JAy115.EXE       - the patched exe
    DAT/XRA.DAT   - the patched game data file
    README_JA115.TXT - this file

3.  If you don't have 1.13b patch installed: copy all files from
    the extracted JA113B.ZIP into your game folder, overwriting
    existing files.

4.  Copy JAy115.EXE and DAT/XRA.DAT into your game folder, overwriting
    earlier versions of those files.

5.  Update your DOSBox configuration files and/or .bat files used to
    run the game to the JA115.EXE executable.


=================
Fixes and Changes
=================
################################################################################
ver. feb 20 1.15y  update
################################################################################

- Added a command line parameter IMPACT: correcting a buggy
   behaviour of the game regarding a bullet hitting a merc: counterintuitively,
   the person currently being hit was detecting an event "by ears" first;
   and only later "by body". As result, there was more interrupts than been 
   expected from mercs, who didnt noticed attacker prior getting a hit.
   Triggering an interrupt as result of event of being hit include a damage
   "shock" penalty, but due to the bug, a merc being hit already had used
   a trigger from the sound of bullet hit (as if it hit some nearby wall), that 
   do not include a shock penalty. Enabling IMPACT will change an order 
   of events, with detecting "by ears" happening after detecting "by body". 
   Thus, implemented, but basically never occuring in reality prior "shock" 
   penalty will reduce amount of interrupts caused by direct hit, as intended 
   by developers. It do not affect other rules and oddities regarding interrupts.

- Bug, causing a multiple instances of applying of damage originating 
  from a single source of explosion under special circumstances is fixed.

- Some actions that could had result in odd and exploitable behaviour 
  (including free movement) are fixed; including swapping to other merc 
  in Inventory Screen will not change a currently active merc when it 
  shouldnt happen; manipulation with an active hand will cease a current 
  weapon action.

- Fixed the occasional erroneous treatment of empty vests as non-empty 
  ones; a complete fix, unlike former one. 

- Enemies and Guards arriving to the sector player's mercs are currently in 
  do not cause a skipping of a whole turn anymore.

- Occasional lockup caused by AI's routine resulting in game freeze during
   enemy turn is fixed.

- Guards, who are interrupting enemy, will not cause denying of move 
   of a merc, who is also interrupting that enemy.

- Guards's orders to protect Tappers that were lost during "fake guards" 
   bug fix are restored; a complete fix.  

- AI now will take own mercs's throwing range into a consideration more,
   preventing some useless out-of-range tosses.

- Wallprobe messages are more coherent; no more "conversations" in case
   the enemy currently heard is alone. 

- Possible miscalculation of mercs "On Duty" amount for a day, that could
   lead to a corrupting of a game data is fixed.

- In Assignment screen arrows keys shortcuts for scrolling of mercs and 
   items were added.

- Insert key now cycles between overhead and sector map views.

- In the "Go Ahead" difficulty level, the random-based requirement for 
   the Event of Second Water Poisoning is removed, so players should
   meet it more often.

- In the "Go Ahead" difficulty level, guards, who are arriving into already 
  captured by enemy sector will now get a small (~10%) penalty during 
  auto-resolve battles (ones without player presence). Its aimed to reduce
  an effectiveness of the "Lure" exploit, while not entirely preventing it.    

################################################################################
ver. apr 01 1.15x  update
################################################################################

- Added a GEAR command line parameter: it fixes a bug, which caused 
  almost all enemies, already present on a map, to be spawned without 
  any armor. Enemies arriving while a combat was underway, were 
  unaffected. The reason for implementing it as a command line option, 
  as opposed to an "always on" fix is that it will drastically increase 
  the game's difficulty, since players always fought against unarmored 
  enemies so far (and players do know how important armor is). Therefore, 
  it's a good idea to have it as an option, so people can test it and see 
  the game as it was intended by its authors:
     Each enemy merc have an armor level value set to (0 - 4). That value 
     affects amout of rolls to acquire an armor item. Success of roll 
     determined by ArmorProbability at least matching a roll of 100: 

     [ArmorProbability = 50 + (ExpLev - 4)*5 + ([min: 0; 5*Day# - 25])] 
      + (difficulty modifier [-10; 0; 10 {for easy; normal; hard}]) 
      + (shipments modifier [0; 10; 20; 30 {for different shipment states}])].

     Rolls are independent for helmets and vests, and starts for best 
     possible item for a given level:
     (Treated Kevlar Helmet (4) > Kevlar Helmet (3) > 
      Treated Helmet (2) > Helmet (1) > Nothing (0))
     (Treated Spectra Shield (4) > Spectra Shield (3) >
      Treated Kevlar Vest (2) > Kevlar Vest (1) > Nothing (0))
     If roll succeed, item is set to according armor slot of merc; otherwise 
     "cheaper" item is chosen for re-roll. Process for a slot ends if some item 
     is chosen, or tries used are equal to armor level (so no item is chosen).
     Beside it, for level 4, one additional roll is granted for a chance to acquire 
     a Shielded Vest, using the same probability rules.
     Additionally, some armor items in drop pockets could be set to match 
     actual armor item used by that merc.
  
- Added an INV command line parameter, supplementary to GEAR. 
  It modifies the armor setting of initially-placed enemies to obey the originally 
  intended values (which were never actually used: a random approach was 
  used instead); replacement/reinforcement enemies are unaffected by this 
  change. Only body armor and helmet slots are affected by this parameter.  
  This option approximates (with a few minor exceptions) the classic armor 
  level values: merc's get best possible items for a given level.

- Fixed errors in game data file pertaining to enemy spawn points; they 
  were probably due to misclicks by level creators, while working in some 
 GUI editor: it was possible to spawn more than one enemy merc in a single 
  square, or even outside the map, which caused glitches in the game engine. 
  Also fixed spawn points inside walls and other weird locations, as well 
  as some other malformed data.

- Fixed the buggy behavior of mercs in the "hired by non-player" state. 
  The roll for such assignment happens on every Laptop communication: 
  while the game checked merc's assignment for player, it didn't check 
  the side assignments; this could lead to conflicting side assignments, 
  which in turn, would result in imprecision in the calculation of the 
  remaining days for side assignments. Furthermore, it enabled the 
  (time consuming, yet reliable) exploit of closing the Laptop and 
  reconnecting: depending on the roll, a merc on side assignment could 
  become immediately ready, no matter the time left on the assignment.
  From now on, mercs already on assignment, are prevented from
  changing their state in this way, and info about their scheduled return 
  to AIM is correct (unlike free ones - for them the probability to go into side 
  assignment is still a function of how often the player is contacting the Laptop).  

- Fixed the occasional erroneous treatment of empty vests as non-empty ones; 
   it prevented their placement into hand slots.

- Fixed some rare cases of point blank shot/stab damage applied to the wrong merc.

- The "Go Ahead" difficulty level will now have a full complement of 8 enemies 
  in every map sector on game start.

- In the "Go Ahead" difficulty level, the duration of applied Camo decreased 
  from 3 to 2 days.


################################################################################
ver. dec 29 1.15q  update
################################################################################

- Fixed a possible crash while adjusting the sound volume.

- Increased the enemy reinforcement rate in the "Go Ahead" difficulty level,
  addressing the "drain" of enemies from far sectors (which usually resulted
  in encountering only a few of them by the time the player arrived there).


################################################################################
ver. dec 15 1.15l 
################################################################################

1. A new difficulty level "Go Ahead" has been added: it is based on
   the "Hard" difficulty level, but modifies a few settings:

   a. SuccessPoints accumulation changed: the original behavior regarding
      SuccessPoints has some oddities: players cannot lose already acquired
      points, even if they receive a bad day's rating; the mentioned rating
      is capped to +3 max ("Outstanding"), but players can actually collect
      a daily amount of SP exceeding that, and the "real" SP is used in
      calculations regarding merc's hire. "Go Ahead" changes it to a more
      intuitive way: player get/lose the stated amount of SP, so "Outstanding"
      is always +3, but not +15 etc (player cannot lose points below 0 still);
      this results in no more early high-SP-requring mercs available to player
      (no more Magic on day 2, Kelly on day 3 etc), thus making 
     days-requring mercs more usable.

   b. The delay in days when enemy is granted right to move/attack has changed.
      In Go Ahead they can do it starting the very first day, including the
      ability to attack sector 60 (losing it is an instant game over, so there
      is no need to remove the starting 8 Guards to reduce cost), offering
      various fresh possibilities to a usually very routine Day 1.

   c. The requirements for a generally hard to trigger Event of Attack on
      Southern Plant are relaxed, so players should meet it more often.

   d. The original game contains a counterintuitive balance decision that
      explosives cannot actually hit a merc's legs; this is really weird
      in the case of mines. In Go Ahead mines apply damage to legs instead 
     (other explosives arent changed), making them way more dangerous.

   e. The starting money amount has been somewhat lowered.

   All of the above changes are save-related, and cannot be changed during game.

--------------------------------------------------------------------------------
2. Three new command line parameters, providing the player options to control
   the behavior of some old bugs (which could be seen as staple features by
   some). Parameters are added to the command line separated by spaces, 
   without any additional symbols:

   dosbox.exe -c "MOUNT c Installed" -c "IMGMOUNT d cd.iso -t cdrom"
              -c "c:" -c "cd jagged" -c "jal115.exe healthy air aim" -c

   The parameters are:

   a. HEALTHY: controls the effect of bandage of wounds on various merc's
      capabilites. The buggy original behavior of penalizing instead of
      improving is restored (as explained in earlier versions descriptions).
      If you enable it, the game behaves like JA115.exe; otherwise, it behaves
      like JAH115.exe.

   b. AIM: controls the calculation of chance-to-hit regarding a bug caused by
      the carried on Action Points making the used formula heavily non-linear 
      (while it adds a nice twist to the straight-forward to-hit formula, it also 
      offers a possible exploitation by players)::
            [DefenceBonus = (MaxAP*SquaresMoved)/(MaxAP-CurrentAP)]
      or simply
            [DefenceBonus = SquaresMoved]
      in case CurrentAP is no less than MaxAP (preventing bad things happening
      with those carried on 5 AP). Example: merc with 20 MaxAP also have a 5
      carried on APs and move 2 squares on a road (cost 2 AP/square):
      [DefenceBonus1 = 2]. {MaxAP (20) < CurrentAP (21), so only SquaresMoved
      matter}. Now after a single next similar move, it suddenly turns into:
      [DefenceBonus2 = (20*3)/(20-19) = 60], 30 times higher, effectively
      making a merc in question nearly impossible to hit beside the granted
      minimal 1% chance or point blank shot. Enabling the AIM key changes that
      formula to a linear:
        [DefenceBonus = (StartofTurnAP*SquaresMoved)/(StartofTurnAP-CurrentAP)]
      when StartofTurnAP > CurrentAP, or:
        [DefenceBonus = SquaresMoved]
      when StartofTurnAP = CurrentAP.

      NOTE: very similar effect of carried on APs on a gun fire speed is NOT
      affected by this key. While the carried APs and wounds turn that formula
      into some oddities too (say wounded merc with dropped due to it amount
      of APs compared to own' healthy state could be able to do more shots
      etc), fixing it same way will make the game mechanic too different from
      the one players are used to.

      Furthermore, we added a mild penalty when a merc aims at a target which
      he/she is not seeing personally at that moment (note that the game AI never
      shoots at such a target).

   c. AIR: controls the GasMask effect on a poison gases. Due to obvious
      overlook (as it was fixed in JA2), GasMasks do not actually protect
      mercs from the MustardGas damage at all. Its only effect is protecting
      the Breath (Stamina) from gases (including the Stun Grenade/Eagle), and
      changing an area effect of TearGas. It's extremely counterintuitive
      overall, and also makes GasMask a nearly useless item, as it shares a
      slot with the highly valuable SunGoggles, adding the AIR key will enable
      a protective effect of GasMask on Mustard Gas damage, the same way it's
      done in JA2 or for Breath effect in JA1, so mask in perfect condition
      will absorb all damage, and in bad condition will let damage pass.
      Absorption though will drain mask's Quality, similar to way the Armor
      works (preventing a Breath effects, as original behavior, does not drain
      the mask).


   Those parameters are not save-related, and can be turned on/off during the
   course of a game (with application restart required). 

   Usage of any of them while playing on "Easy" difficulty, will re-enable
   original unused game code to detect traps in crates/boxes using WallProbe.
   As this way of detection is reliable and dont require any check on merc
   skills, likely it was dropped out as balance decision, thus the added
   similar restriction here.

--------------------------------------------------------------------------------
Bug Fixes
--------------------------------------------------------------------------------

- Fixed bugs regarding reserve points enabling players to continue movement
  without remaining APs.

- Fixed a bug, effectively stopping the bleeding on a move out of  sector.

- Purely interface-based (albeit laborious) detection of enemies was fixed.

- Unseen enemies should not prevent attempts to command a move to an area,
  which is actually inaccessible due to their presence, as this is unknown to
  the player at the moment he issues the command (so it should work the same
  way as other unseen objects, that are revealed in due time).

- Fixed a bug in collision detection preventing some perfectly legal moves
  while going backward.

- Fixed a bug that would cause a day's special income (cash found and/or Jack's
  bonus rewards) to be lost, in case the player didn't have enough money to pay
  to all mercs.

- Fixed a memory corruption problem in the display of some merc's messages
  (which resulted in badly formed and cut text).

- Due to a bug, the mechanism about non-paying was messed up (or perhaps
  unfinished, as a fix was also required for related messages to work). The
  original intent implied that the non-paid merc would demand a payment of
  triple the debt prior to any other conversation with the player; however,
  it is also possible to avoid paying the dead merc's "family" without any
  consequences, apart from the overall "non-payment" rate change. As those 2
  cases were reversed in practice, non-payment to dead mercs resulted in owing
  money to them (and the prospect of being asked triple the debt in case of a
  succesful table-turning), while non-payment to alive mercs resulted only in
  them leaving your squad, and suffering no relation penalties whatsoever (so
  it was possible to re-hire them without paying the triple debt).

  In 1.15l it works as planned, so if the player owes a debt to a live merc,
  he will have to pay it if he wants to re-hire him (oddly enough that event
  still hurt merc's feelings less than fair firing after some days of paid work, 
  and they were still willing to work for the player in that case). Moreover, 
  non-payment to a dead merc's "family" is now treated as a river burial.

- Several Mines and other Explosives related bugs fixed: 

    * An obscure (and probably unfinished) feature of the game is mines
      participation in auto-battle defence against enemy.  Installing a
      mine in addition to placing a tactical map object, also creates a
      "strategic mine" object, from which the enemy could get deadly hits
      during auto-battle. Removing such a mine in some way (triggering it
      in some kind of battle, or manual defusion) decreases that chance. 
      However, the intended mechanic was plagued with some bugs, sometimes
      resulting in one of the following:
         a) failure to remove a "strategic mine" despite removing an
            actual one, OR
         b) erroneously removing a "strategic mine", usually resulting in
            buggy maxing the mines amount in sector (and thus making it 
            well defended from enemy attacks) via some action applied
            not to an actual mine. 

    * b is closely related to a more general interface-based bug regarding
      explosives: the different ways of accessing items could lead to
      different outcomes, including the ability to grab a trapped explosive
      without a defusing check.

    * a minor visual bug where the mine sprite disappears after a defusing
      attempt from the Interface screen.

    * time compression usually resulted in set explosives failing to
      detonate.

    * placing an item on a square with other items causes some oddities due
      to engine limitations, as it cannot hold more than one grouped item
      (like a gun with scope) on a square, and the mechanic of moving an item
      in case new items were added to the same square (and any of those items
      are explosives) resulted in losing the ability to explode or even
      transferring it to a different item  or losing a trace of already
      happened trap detection, enabling exp. farming exploits.

- Exploded bridges don't lose the actual bridge capabilities until the sector
  is reloaded (moving on them is still possible and at the same cost as a
  regular bridge, but the automatic pathfinder will try to avoid them). This
  is not a pure bug: it's a design decision brought about by worries about
  mercs being trapped on bridge parts without the ability to move from 
  (it's impossible to move from bridge to water). However, it was worthwhile 
  fixing  it.

  Furthermore, there existed another bug, which made such entrapments possible
  anyway, by setting exploded bridges parts impassable under some conditions.
  In 1.15l exploded bridges are passable only if they are adjacent to the actual
  remaining bridge, and for a rather heavy AP cost (thus enabling the intended
  mechanic of giving a chance to get out of bridge if needed, but without
  silly moving on the exploded bridge via click-per-square). On re-entering 
  a sector, all those exploded bridges will become impassible the classic way.

- The score acquired on the last day before the game ended was not fully counted
  in the eventual final score and the replay action of that day was cut.
  In 1.15l in addition to counting it and showing the reply, the final score of
  lost games are also shown (and there is more than one way to lose it); that
  was cut entirely, despite a special penalty for losing being included in the
  score calculation.

- Fixed a bug, where the time flow would sometimes erroneously resume in the
  Inventory screen (it should remain stopped while in that screen); even though
  it couldn't cause an actual time advance of "5 mins" while in that screen, 
  it could result in an immediate time advance right after the player exited that
  screen, which in turn could have side effects such as immediate detonation 
  of bombs, etc.

- Fixed the buggy treatment of nearly every interaction with adjacent objects
  as revealing an item there; this resulted in a free exp roll. Now it's granted
  only for the initial interaction with the item in object.
  NOTE: added omitted exp rolls for detecting a detonation trap 
  (as in sector 39).

- Increased the display time of the WallProbe's quest message for better
  readability: it was too short in case the sound is on.

- Fixed a minor graphics bug resulting in weird animation sequences (such as
  drowning or fighting snake, etc) when a moving merc tried to interact with
  a close object.

- Fixed the display of harvestable trees when the map was updated at the end
  of a battle in a sector (actual end-of-day calculations were correct in that
  case, but misleading during the day).

- Fixed a buggy calculation of APs required for actions in case additional
  movement required to perform them. This fixes the problem where the game
  accepts a command only to move the merc some squares and then produce a
  "not enough points" message.

- Items in nearly useless condition erroneously had the ability to always
  succeed in a check for a working state: fixed.

- The Insert button now correctly toggles between fog-of-war and fully revealed
  map views.

- The "End of Opponent Turn" key combination made legal only in cheat mode.

- Fixed a rare bug, whereby a merc collapses to ground due to a leg wound
  inflicted on another merc.

################################################################################
ver. jan 13 update
################################################################################

- Separate JAH115.exe added, with original bandaged health behavior 
  restored, for ones who want to keep original gameplay feel and to not 
  make the game too easy.

- Losing a sector to enemy attack could lead to a change to availability 
  of trees to harvesting in adjacent sectors, but despite affected trees 
  were properly drawn non-harvestable (black), money income from them 
  still happened. Fixed in 1.15 ver jan13

################################################################################
ver. jan 08 
################################################################################

-  If Dying Trees and Brenda's Kidnapping quests were triggered on the
   same day, then the latter quest would fail to start that day,
   likely causing some contingency effects. In 1.15 both quests start.

-  Manipulation with some game menus and popups while holding item(s)
   in the hand cursor could have led to the cloning or losing of that
   item.

-  It was possible to "teleport" an item hold in hand cursor to other
   merc by switching to him/her with F1-F8 buttons or in case of
   autoswitch.

-  Bandaging a wounded merc had negative instead of positive effect on
   his/her speed and aim. Because of this bug it was advisable to
   apply only minimal treatment to prevent bleeding. This bug is
   present in all official versions up to JA2 Gold. In 1.15 bandaging
   increases merc stats.

-  Merc being bandaged received penalty for all attack chances but
   throwing. In 1.15 all attacks are penalized in the same way.

-  When player's merc was interrupted while picking up an item, the
   inventory screen loaded without a visible cursor, making the
   process of putting that item into some slot really cumbersome.

-  In cases when an interrupt occured during another interrupt, some
   available for action mercs's tabs was erroneously blurred as if
   that merc was not available. Also switching to that merc by
   clicking on tab was blocked, but was still possible with other
   methods. In 1.15 such mercs are shown as available and can be
   chosen by clicking on their tabs.

-  Triggering of the Rescue Brenda event during interrupt is now
   impossible, preventing a possible spoil of a gameflow (mercs being
   teleported to sector 60), other way of achieving the same effect
   was also fixed.

-  Goggles, gas masks, extended ears, scopes, silencers and armor
   worked even when in "useless" condition. In 1.15 "working"
   condition is required.

-  Visual and hearing detection range bonuses granted by goggles and
   extended ears were not updated after damaging an item.

-  In case Guards were sent to a sector with Guards already travelling
   there for some time, old Guards in transit became lost forever
   (while still marked as travelling). In 1.15, the attempt to issue
   such order is prevented.

-  In case of player squad was present in a sector containing both
   Guards and Tappers, the game used to add "fake" additional Guards,
   proportional to the amount of Tappers in that sector, potentially
   causing crashes and corruption of saves. In 1.15 no extra guards
   are generated.

-  Game used to leave fully healed merc in patient state in some
   cases.  In the same way doctor could remain busy when patient is
   fully healed. In 1.15 healed state is detected correctly.

-  Overal Rating value was capped at 100. To compare games with higher
   performance this cap has been removed.


--------------------------------------------------------------------------------
For feedback or questions
    https://www.gog.com/forum/jagged_alliance_series/ja1_unofficial_115_patch